import fs from 'fs';
import path from 'path';

// 获取站点地图优先级
function getPriority(route) {
  if (route === '/') return 1.0; // 首页最高优先级
  if (route.startsWith('/docs') && route.split('/').length === 2) return 0.9; // 文档列表页
  if (route.startsWith('/docs/')) return 0.8; // 文档页面
  return 0.7; // 其他页面
}

// 获取文档列表
async function getDocFiles() {
  try {
    const docsDir = path.join(process.cwd());
    const files = fs.readdirSync(docsDir).filter(file => file.endsWith('.md'));
    
    return files.map(file => {
      const stat = fs.statSync(path.join(docsDir, file));
      return {
        path: file.replace(/\.md$/, ''),
        lastModified: stat.mtime
      };
    });
  } catch (error) {
    console.error('Error reading doc files:', error);
    return [];
  }
}

export default async function handler(req, res) {
  // 设置正确的内容类型
  res.setHeader('Content-Type', 'text/xml');
  
  // 固定路由
  const baseRoutes = [
    { url: '/', lastMod: new Date().toISOString() }
  ];
  
  // 获取文档路由
  const docFiles = await getDocFiles();
  const docRoutes = [
    // 文档列表页
    { url: '/docs', lastMod: new Date().toISOString() },
    // 各个文档页面
    ...docFiles.map(file => ({
      url: `/docs/${file.path}`,
      lastMod: file.lastModified.toISOString()
    }))
  ];
  
  // 合并所有路由
  const allRoutes = [...baseRoutes, ...docRoutes];
  
  // 生成XML
  const xml = `<?xml version="1.0" encoding="UTF-8"?>
<!-- 小铭Ai梦想家 - 智能量化交易平台 -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  ${allRoutes.map(route => `
  <url>
    <loc>https://liangcai.ai${route.url}</loc>
    <lastmod>${route.lastMod}</lastmod>
    <changefreq>${route.url === '/' ? 'daily' : 'weekly'}</changefreq>
    <priority>${getPriority(route.url)}</priority>
  </url>
  `).join('')}
</urlset>`;
  
  // 返回生成的XML
  res.status(200).send(xml);
} 